package template.entity;


import template.base.BaseCaffeineBeverageWithHook;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * 咖啡类
 * 用来煮咖啡 继承共性的方法
 * @author yaojianfeng
 */
public class CoffeeWithHook extends BaseCaffeineBeverageWithHook {
    /**
     * 冲泡方法
     */
    @Override
    public void brew() {
        System.out.println("冲泡咖啡==>");
    }

    /**
     * 添加配料的方法
     */
    @Override
    public void addCondiments() {
        System.out.println("加上糖和牛奶!");
    }

    /**
     * 默认不做事的方法 我们称这种方法为钩子
     * 子类可以视情况决定要不要覆盖它们
     * @return 超类
     */
    @Override
    public boolean customerWantsCondiments(){
        String answer = getUserInput();
        return answer.toLowerCase().startsWith("y");
    }


    private String getUserInput(){
        String answer = null;
        System.out.println("俊俏的少年啊 你的咖啡要加糖和牛奶么?");
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        try {
            answer = in.readLine();
        } catch (IOException e) {
            e.printStackTrace();
        }
        if (answer == null){
            return  "no";
        }
        return answer;
    }

}
